white: update to 2.23
authorRosen Penev <[email protected]>
Wed, 9 Jul 2025 00:27:11 +0000 (17:27 -0700)
committerTianling Shen <[email protected]>
Fri, 18 Jul 2025 14:21:14 +0000 (22:21 +0800)
Add Alpine Linux patch to fix compilation with GCC15.

Signed-off-by: Rosen Penev <[email protected]>
utils/which/Makefile
utils/which/patches/010-gcc15.patch [new file with mode: 0644]

index f7817c63e25a6940e3c6f2f9c4ed17e991ddc575..43fb62475f63b39cb4c1a9f3ee4ec6505a4448c5 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=which
-PKG_VERSION:=2.21
+PKG_VERSION:=2.23
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@GNU/which
-PKG_HASH:=f4a245b94124b377d8b49646bf421f9155d36aa7614b6ebf83705d3ffc76eaad
+PKG_HASH:=a2c558226fc4d9e4ce331bd2fd3c3f17f955115d2c00e447618a4ef9978a2a73
 
 PKG_MAINTAINER:=Huangbin Zhan <[email protected]>
 PKG_LICENSE:=GPL-2.0-or-later
diff --git a/utils/which/patches/010-gcc15.patch b/utils/which/patches/010-gcc15.patch
new file mode 100644 (file)
index 0000000..d786b44
--- /dev/null
@@ -0,0 +1,40 @@
+Patch-Source: https://lists.gnu.org/archive/html/which-bugs/2025-03/msg00000.html
+---
+From 16a1647fc26953fab659de5f55d4c0defdfb894f Mon Sep 17 00:00:00 2001
+From: Khem Raj <[email protected]>
+Date: Sat, 22 Mar 2025 17:56:19 -0700
+Subject: [PATCH] getopt: Fix signature of getenv function
+
+This happens on musl systems using GCC 15
+
+../which-2.21/getopt.h:106:12: error: conflicting types for 'getopt'; have 
+'int(void)'
+  106 | extern int getopt ();
+      |            ^~~~~~
+---
+ getopt.c | 2 +-
+ getopt.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+--- a/getopt.c
++++ b/getopt.c
+@@ -205,7 +205,7 @@ static char *posixly_correct;
+ /* Avoid depending on library functions or files
+    whose names are inconsistent.  */
+-char *getenv();
++char *getenv(const char*);
+ static char *my_index(str, chr) const char *str;
+ int chr;
+--- a/getopt.h
++++ b/getopt.h
+@@ -102,7 +102,7 @@ struct option {
+    errors, only prototype getopt for the GNU C library.  */
+ extern int getopt(int argc, char *const *argv, const char *shortopts);
+ #else  /* not __GNU_LIBRARY__ */
+-extern int getopt();
++extern int getopt(int, char * const [], const char *);
+ #endif /* __GNU_LIBRARY__ */
+ extern int getopt_long(int argc, char *const *argv, const char *shortopts, const struct option *longopts, int *longind);
+ extern int getopt_long_only(int argc, char *const *argv, const char *shortopts, const struct option *longopts,